医疗视角:智能问答产品事
这是一篇笔者个人非常想要写的文章,主要有两个原因。第一个原因是“问答”,“知识图谱”和“医疗”这三个topic能够凑在一块儿,都是笔者个人非常感兴趣的东西,通俗点说,笔者喜欢这些玩意儿。另一个原因是笔者个人对S先生的一篇文章,印象颇深。题目是《人工智障2:你看到的AI与智能无关》,启发了笔者一直关注产品侧的问题。产品和技术在这篇文章中有血有肉,有质感,笔者也想写出一篇类似的东西,但深感水平不足。
这篇文章的目标读者:
笔者自己
对医疗C端产品感兴趣的同学
渴望了解产品背后的技术的同学
关于问答产品和技术,在之前已经写过部分讨论文章,因此科普性质的讨论不再赘述,直接切入医疗问答产品。部分相关文章如下:
《一个夏日的午后,聊聊智能客服和NLP》(https://zhpmatrix.github.io/2020/06/13/thoughts-about-dialogue/)
《电商问答系统的产品侧讨论》(https://zhpmatrix.github.io/2020/09/05/ideas-about-qa/)
《问答匹配,有点难》(https://zhpmatrix.github.io/2020/09/14/qa-match/)
《Learning to Rank用于问答匹配/答案推荐建模》(https://zhpmatrix.github.io/2020/08/02/learning-to-rank/)
问答是一种交互,真正的价值是问答背后的服务。那么,医疗问答产品的价值在哪里?
从上图可以看出,问答产品的服务对象包括但不限于:
(1)患者本人:通过患者自诉症状,引擎智能追问,补齐机器对于患者状况的信息获取,结合医疗知识图谱,做出患病类型的判断。至于要不要相信机器的判断,是一个炒冷饭问题了,但是即使不相信,也在一定程度上提供了用户价值。比如,一个正常人在听到周围人说自己印堂发黑的时候,是不是心里也会有所触动?用户既然在使用问答引擎,就在一定程度上会对产品功能,包括做出的预测有一个基本的假设和预期。此外,医院内的业务信息对于患者而言也是重要的。
(2)导诊台:我有鼻炎,我去了医院,但是我不知道去哪个科室?我去导诊台找护士小姐姐问,排了很长的队,然而护士小姐姐今天已经回答了1000个类似问题了,回答我的问题的时候,火气冲天。自动化的方式推荐科室,功能直达预约挂号,直接解决用户需求,同时减少人工干预。
(3)医生:在正式医生问诊之前,患者在足够的时间内通过和机器交互,完成自诉,既往史和现病史的陈述;在真实医生问诊的时候,医生可以直接拿到预问诊的病历文书,确认追问和修改。
(4)药企:鼻炎买啥药啊?我吃X可以治愈吗?网上买蔬菜,买水果,也可以买药。
服务不同的对象,创造不同的价值。入口是轻量的,服务是重量的。
问答引擎的子模块包括FAQ,任务型问答,基于医疗图谱的问答,基于表格的问答和用于兜底的闲聊(业界有不同的划分方式,个人倾向于这样做划分)。在院内业务信息输出时,FAQ是一种技术思路。在疾病预测的时候,可以建模为一个任务型问答,Slot的设计需要深度依赖医疗知识。常识类的医疗知识问答,可以基于医疗知识图谱完成。最后,用于兜底的闲聊模块。当然,人工才是最专业的兜底。
从技术成熟度上来看,电商智能客服领域的FAQ,智能助手类应用的TaskBot,强知识依赖的KBQA,以小冰为代表的闲聊瞎扯机器人,应该都具备一定的启发意义。
问答引擎的问答场景包括小程序内部,内嵌APP,智能音箱,门诊机器人/门诊大厅触摸屏,和通用问答引擎的场景设定基本一致。
医疗问答引擎的用户价值,应用场景和系统子模块均可由通用问答推出,同样,在技术架构上也有一致之处,如下:
评价一个医疗问答引擎的一个根本指标是服务水平的高低,而非技术手段的优劣。但是,对于什么样是好的问答引擎,仍遵循一定的标准。模型精度高,推断速度快。从被动式的问题回答到主动式的提问,追问,自动问题发现,答案推荐以及意图自动识别。为提高规模化能力和定制化要求,需要支持自定义行为,配置自动灵活高效。由于应用场景的多样性,要求部署方便,在保持一个引擎内核的前提下,支持多种产品形态。每一个标准的实现,都使得引擎的价值能够增加。
在上文中提到入口是轻量的,服务是重量的观点。让我们看一看腾讯智能导诊的功能实现:
重吗?下面是腾讯智能预问诊的功能实现:
重不重?已经很重了,好吗?
讨论完战略上的问题,看一个战术问题。一个具体的在线问诊能力实现,需要什么样的数据?(来自第一届智能对话诊疗评测比赛的真实对话数据)
这张图中,患者说:”多多少少十来次“,医生说:“大便什么样子的呢?......”,对于患者和医生的每句话,需要标注出症状,疾病,药品等实体,用于对话理解。此外,symptom_norm是标准化之后的术语,symptom_type是术语对应的值,0,1,2分别表示有,没有,不清楚。通过这些标注数据,可以帮助模型去理解对话中的重要信息。最后,需要生成的病历报告如下所示,包含主诉内容,现病史内容等,而对话过程中的重要信息,都可以帮助病历报告的自动生成。
我们可以体验一下阿里智能预问诊的产品设计,应用场景,产品功能和对话过程都在下图中有呈现。
下图是腾讯智能预问诊的产品设计。
对于问答系统,其实各个领域在做的团队都很多,包括零售,医疗等。医疗行业内作为为数不多的C端产品形态,更是如此。比如左手医生:https://open.zuoshouyisheng.com/doc;比如腾讯医疗:https://github.com/tencentyun/qcloud-documents。此外,学术上也不断有团队开始跟进,比如第一届智能对话诊疗评测比赛:http://www.fudan-disc.com/sharedtask/imcs21/index.html。
这篇文章从整体上讨论了医疗问答产品的用户价值,应用场景和技术体系。同时,给出了具体的真实问答数据示例,产品功能和产品交互。对比通用问答系统,在顶层设计上可以类比,但是在具体执行层面,不同domain有各自的特色和需要重点关注的点,而这也是差异化的来源。
点击关注,更多的NLP技术,产品,比赛和观点输出,